Updating operating systems, file systems, databases and any other system or unit containing data is a task of most computing maintenance procedures. The maintenance procedures are often executed by a maintenance tool, which may be in the form of a software application. Update operations ensure that a set of files is replaced by a second set of files that contains different information, which in most cases is newer to the first set of files.
When a system has to be updated with new content, that is, new files, there are two methods: 1) create a new procedure every time a system needs to be updated; or 2) create a standard procedure integrated into the system and modify only the content. Option 2 has a lot of advantages like focusing on new features only delivered with the content and not spending time and resources on the procedure itself. It also allows independent content providers easy delivery and integration. In addition, the standard procedure option separates content issues from maintenance procedure issues and thus provides quicker support and problem solving features.
However, option 2 has a drawback: a standard procedure expects data with a standard delivery format of the content for input. For example, there is a scenario with two different sources of content—an electronic delivery via the Internet as a set of files or a set of packed files with a file system structure inside and a DVD/CD content delivery. The structure of these contents may vary as well, from a small bug fix to a big system update. Therefore, a single maintenance procedure integrated into a system must be able to comprehend different formats and be flexible enough to allow integration of new formats.
As mentioned above, the two approaches are: 1) create a separate maintenance procedure for every delivery format; or 2) implement in the maintenance procedure separate support for every delivery format. Both approaches hide the fact that content recognition is a minor part of a maintenance procedure. The first approach duplicates a big part of the maintenance procedure and thus causes the need for double maintenance of the maintenance procedure itself. The second approach does not clearly separate content recognition from system update, which causes difficulties when tracking issues in the procedure and increases the test efforts because of the need to execute regression tests with every possible combination.